<?php
class CP_MaterialsController extends XPHP_Controller
{
	/**
	 * Phương thức sẽ thực thi trước khi thực thi sau khi controller được khởi tạo
	 */
	public function _init()
	{
		//Load layout
		$this->loadLayout("Administrator");
		//Xác thực
		$this->helper->auth();
	}
	
	public function indexAction()
	{
		$model = new Areas_CP_Models_Materials();
		$arrMaterials = $model->select_all();
		$this->view->arrMaterials = $arrMaterials;

		return $this->view();
	}
	
	/**
	 * [[
	 * model: Areas_CP_Models_Materials
	 * ]]
	 */
	public function createAction()
	{
		return $this->view();
	}
	
	/**
	 * [[
	 * model: Areas_CP_Models_Materials
	 * ]]
	 */
	public function createPOST()
	{
		if ($this->hasModel())
		{
			if ($this->model->isValid())
			{
				//Kiểm tra tên chất liệu đã có chưa
				$model = new Areas_CP_Models_Materials();
				$data = $model->select("name='".$this->model->name."'");
				if (!empty($data))
				{
					//Thông báo tên chất liệu đã tồn tại
					$this->model->setErrorMessage("unique", "Tên chất liệu này đã tồn tại", "name");
				}
				else 
				{
					$this->model->insert();
					//Redirect tới action index
					return $this->redirect("index");
				}
			}
		}
	}

	public function editAction($args)
	{
		$model = new Areas_CP_Models_Materials($args[0]);

		return $this->view($model);
	}
	
	/**
	 * [[
	 * model: Areas_CP_Models_Materials
	 * ]]
	 */
	public function editPOST()
	{
		if ($this->hasModel())
		{
			if ($this->model->isValid())
			{
				//Kiểm tra tên chất liệu đã có chưa
				$model = new Areas_CP_Models_Materials();
				$data = $model->select("name='".$this->model->name."' AND id <> '".$this->model->name."'");
				if (!empty($data))
				{
					//Thông báo tên chất liệu đã tồn tại
					$this->model->setErrorMessage("unique", "Tên chất liệu này đã tồn tại", "name");
				}
				else 
				{
					$this->model->update();
					return $this->redirect("index");
				}
			}
		}
	}
	
	public function deleteAJAX($args)
	{
		$id = $this->params['id'];
		$model = new Areas_CP_Models_Materials($id);
		$model->delete();
		return $this->json(array("success" => true));
	}
}